Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

συμπίκνωση καί επιδιόρθωση

Îåêßíçóå áðü ôï ìÝëïò sharizanis. Τελευταία δημοσίευση από το μέλος sharizanis στις 11-07-2010, 18:50. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  08-07-2010, 17:27 59398

    συμπίκνωση καί επιδιόρθωση

    Για’ σας  φιλαράκια :

    Ψάχνω για λίγες γραμμές κώδικα σε VB 2005  προσπαθώντας να συμπιέσω και να

    επιδιορθώσω  ένα  αρχείο βάσης δεδομένων access (MDB)“- (Πράγμα το οποίο ποτέ δεν έγινε ποτέ μέχρι τώρα )     κατά το κλείσιμο της εφαρμογής  (Project   έχοντας ακούσει ότι  η βάσεις δεδομένων της “access

     μετά από κάποιο ορισμένο μέγεθος (2GB)  ? Μπορούν να σκάσουν και να υπάρξει απώλεια δεδομένων.( Και επίσης για λόγους ταχύτηταςΣημειωτέο μέσα από το μενού της  access επιλέγοντας  “συμπυκνώσει και επιδιόρθωση” διαπιστώνω ότι το αρχικό μέγεθος μειώνεται στο μισό.

    Ευχαριστώ  προκαταβολικά !

      

  •  08-07-2010, 18:03 59400 σε απάντηση της 59398

    Απ: συμπίκνωση καί επιδιόρθωση

    Υπάρχει ένα πρόβλημα με τις λειτουργίες compact & repair: Το ADO.NET δεν τις υποστηρίζει (και γενικά δεν είναι πολύ φιλικό προς τις access mdb databases τις οποίες θεωρεί λίγο ..παλιές για τα γούστα του).
    Μπορείς να επιτύχεις αυτό που θέλεις αν κάνεις reference στο DAO (dao360.dll) και γράψεις κώδικα σαν τον παρακάτω, όπως υποστηρίζει ο κύριος εδώ: http://www.knowdotnet.com/articles/compactmdb.html

    (Αυτός έχει βάλει τον κώδικα΄του σε ένα event handler, αλλά νομίζω ότι γενικότερα είναι κατανοητή η ιδέα. Το databasename είναι το physical path της access database).

    Private Sub mnuRepairCompact_Click(ByVal sender As System.Object, _
          
    ByVal e As System.EventArgs) Handles mnuRepairCompact.Click
          
    Dim db As DAO.DBEngine
          
    Dim sUFN As String
          Dim sFN As String = _
             System.IO.Path.GetFileNameWithoutExtension(DatabaseName)

          
    Try
             sUFN = AppPath & "\" & sFN & Format(Now, "MMddyyyyHHmmss") & _
                ".mdb"
             Rename(DatabaseName, sUFN)
             db = 
    New DAO.DBEngine()
             db.CompactDatabase(sUFN, AppPath & "\" & sFN)

          
    Catch ex As System.Exception
             StructuredErrorHandler(ex)
          
    End Try
       End Sub

    Επίσης ίσως θα πρέπει να ρίξεις μια ματιά και εδώ: http://www.codeguru.com/forum/archive/index.php/t-2517.html για περισσότερες πληροφορίες σχετικά με το DbEngine.CompactDatabase method.

    Σχετικό άρθρο της Microsoft εδώ (για εναλλακτικό τρόπο): http://support.microsoft.com/kb/306287 




    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  11-07-2010, 18:50 59420 σε απάντηση της 59400

    Απ: συμπίκνωση καί επιδιόρθωση

    Φίλε Σωτήρη σ' ευχαριστώ!

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems